package com.wicket.okrbff.biz.service;

import com.wicket.okrbff.biz.service.dto.req.*;
import com.wicket.okrbff.biz.service.dto.res.*;
import com.wicket.okrframework.integration.FwBaseStaffingClient;
import com.wicket.okrframework.integration.dto.QueryStaffingListRespDto;
import com.wicket.okrframework.integration.dto.QueryStaffingListReqDto;
import com.wicket.okrbff.biz.service.dto.common.BffStaffingDto;
import cn.hutool.core.bean.BeanUtil;
import java.util.stream.Collectors;
import com.wicket.okrbff.common.exception.Assert;
import com.wicket.okrframework.integration.dto.AddStaffingRespDto;
import com.wicket.okrframework.integration.dto.AddStaffingReqDto;
import com.wicket.okrframework.integration.dto.BatchAddStaffingRespDto;
import com.wicket.okrframework.integration.dto.BatchAddStaffingReqDto;
import com.wicket.okrframework.integration.dto.OrgStaffingDto;
import com.wicket.okrframework.integration.dto.ArchiveStaffingRespDto;
import com.wicket.okrframework.integration.dto.ArchiveStaffingReqDto;
import com.wicket.okrframework.integration.dto.ReleaseStaffingRespDto;
import com.wicket.okrframework.integration.dto.ReleaseStaffingReqDto;
import com.wicket.okrframework.integration.dto.QueryStaffingAccountDetailRespDto;
import com.wicket.okrframework.integration.dto.QueryStaffingAccountDetailReqDto;
import com.wicket.okrframework.integration.dto.UpdateStaffingRespDto;
import com.wicket.okrframework.integration.dto.UpdateStaffingReqDto;
import com.wicket.okrbff.common.util.CommonFunctionHelper;
import com.wicket.okrframework.integration.dto.BatchUpdateStaffingRespDto;
import com.wicket.okrframework.integration.dto.BatchUpdateStaffingReqDto;

/**
 * @author ：
 * @date ：
 *
 * 
 * @version 1.0
 */
public interface StaffingService {
    /**
   * B1-3批量新增编制（管理）
   */
    BffBatchAddStaffingRespDto batchAddStaffing(BffBatchAddStaffingReqDto reqDto);

    /**
   * B1-3发布编制（管理）
   */
    BffReleaseStaffingRespDto releaseStaffing(BffReleaseStaffingReqDto reqDto);

    /**
   * B1-3存档编制(管理）
   */
    BffArchiveStaffingRespDto archiveStaffing(BffArchiveStaffingReqDto reqDto);

    /**
   * B1-3新增编制（管理）
   */
    BffAddPositionStaffingRespDto addPositionStaffing(BffAddPositionStaffingReqDto reqDto);

    /**
   * B1-3批量补充部门编制（管理）
   */
    BffBatchUpdateDeptStaffingRespDto batchUpdateDeptStaffing(BffBatchUpdateDeptStaffingReqDto reqDto);

    /**
   * B1-3补充部门编制（管理）
   */
    BffUpdateDeptStaffingRespDto updateDeptStaffing(BffUpdateDeptStaffingReqDto reqDto);

    /**
   * B1-3批量补充组织编制（管理）
   */
    BffBatchUpdateOrgStaffingRespDto batchUpdateOrgStaffing(BffBatchUpdateOrgStaffingReqDto reqDto);

    /**
   * B1-3补充组织编制（管理）
   */
    BffUpdateOrgStaffingRespDto updateOrgStaffing(BffUpdateOrgStaffingReqDto reqDto);

    /**
   * B1-3查询职务编制账户数量详情（管理）
   */
    BffQueryPositionStaffingAcntNumDetailRespDto queryPositionStaffingAcntNumDetail(BffQueryPositionStaffingAcntNumDetailReqDto reqDto);

    /**
   * B1-3查询组织编制列表（管理）
   */
    BffQueryOrgStaffingListRespDto queryOrgStaffingList(BffQueryOrgStaffingListReqDto reqDto);

    /**
   * B1-3查询职务编制列表（管理）
   */
    BffQueryPositionStaffingListRespDto queryPositionStaffingList(BffQueryPositionStaffingListReqDto reqDto);

    /**
   * B1-3查询部门编制列表（管理）
   */
    BffQueryDeptStaffingListRespDto queryDeptStaffingList(BffQueryDeptStaffingListReqDto reqDto);
    //
}
